home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------
- Datei : Counterlog.ITDaemon
-
- Autor : J.Reinert/Lehrte
-
- Funktion : Gebührenzähler auslesen und in eine Datei schreiben
- --------------------------------------------------------------*/
-
- options results
-
- /*
- Pfad und Name der Logdatei. Muss an das System angepasst werden!
- */
-
- Log ="ram:DD_Counterliste.txt"
-
-
-
-
- DaemonStarted=0 /* Falls Daemon nicht läuft... */
-
- if ~show(ports,'ITA1004Daemon') then do
- ADDRESS COMMAND /* CLI-Befehle zugänglich machen */
- "RUN >NIL: ITA1004Daemon" /* ITA1004Daemon starten */
- WaitForPort "ITA1004Daemon" /* warten auf ARexx-Port */
- if rc=0 then DaemonStarted=1 /* wenn gestartet, dann Flag setzen */
- end
-
- if show(ports,'ITA1004Daemon') then /* Ist ITA1004Daemon wirklich aktiv?*/
- do
- Address "ITA1004Daemon" /* Daemon-Port festlegen */
- DD_REQUEST "Zählerstände in Logdatei eintragen?"
- if result=1 then
- do
- DD_GETCOUNTER /* Gebührenzähler auslesen */
- Counter=result
- Call AddLogfile
- if Summe ~= 0 then /* Zähler löschen, falls einer ungleich Null ist */
- do
- Address "ITA1004Daemon"
- DD_REQUEST "Alle Zähler auf Null setzen?"
- if result=1 then
- do
- DD_RESETCOUNTER ALL /* Alle Zähler löschen */
- Counter=result
- Call AddLogfile /* Neuen Zählerstand in Logdatei eintragen */
- end
- end
- end
-
- if DaemonStarted then /* Daemon beenden, falls durch Script gestartet */
- do
- Address "ITA1004Daemon"
- DD_ExitDaemon
- end
- end
-
- exit
-
- /* -----------------------------------------------------------------------
- Logdatei erweitern
- -----------------------------------------------------------------------*/
-
- AddLogfile:
- if exists(log) then
- call open(out,log,"A") /* Wenn Logdatei existier, als "Append" öffnen */
- else
- call open(out,log,"W") /* sonst erweitern */
-
- call writeln(out,Counter) /* Zählerdaten schreiben */
- call close(out) /* Logdatei schließen */
- Summe=0 /* Gebührensumme aller Zähler*/
- do i=1 to 7
- x=SubWord(Counter,i,1) /* Wert aus Ergebnis-String holen */
- if i>2 then Summe=Summe+x /* Summe bilden */
- end
- Return
-
-